Account setup: restore Apple OAuth and responsive provider-first layout - #1887
Conversation
…at-account-setup-elevate-account-setup-elevate-20260813
…at-account-setup-elevate-account-setup-elevate-20260813
|
This pull request has been ignored for the connected project Preview Branches by Supabase. |
📝 WalkthroughWalkthroughApple OAuth is enabled across the shared provider type, account setup, authentication panels, settings, documentation, and tests. Authentication actions now expose provider-specific pending states and prevent concurrent submissions. Account setup content and responsive provider layouts were updated. ChangesApple OAuth enablement
Estimated code review effort: 4 (Complex) | ~45 minutes Mergeability Score: ⚪ Minimal · up to The PR adds responsive account-setup width values that should follow shared design tokens, but this is a localized maintainability issue; no actionable merge-blocking risk remains. Sequence Diagram(s)sequenceDiagram
participant User
participant AuthPanel
participant SupabaseAuthClient
participant OAuthProvider
User->>AuthPanel: Select Apple, Google, or Microsoft
AuthPanel->>SupabaseAuthClient: signInWithOAuth(providerId)
SupabaseAuthClient->>OAuthProvider: Start OAuth authorization
OAuthProvider-->>SupabaseAuthClient: Return through /auth/callback
SupabaseAuthClient-->>AuthPanel: Complete authentication
Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 ESLint
ESLint install failed: dependency version conflict. Check your lock file or package.json. Comment |
…up-elevate-20260813
|
@claude This PR is currently |
|
Hi @BigSimmo — thanks for the @claude mention. Open this in Claude Code on the web to continue here: https://claude.ai/code Context: Automated backlink from the Claude backlink workflow. Claude Code can pick up the mention and push a scoped fix to the branch. |
|
Claude encountered an error after 2s —— View job I'll analyze this and get back to you. |
…at-account-setup-elevate-account-setup-elevate-20260813
…at-account-setup-elevate-account-setup-elevate-20260813
…at-account-setup-elevate-account-setup-elevate-20260813
There was a problem hiding this comment.
🧹 Nitpick comments (1)
src/components/clinical-dashboard/account-setup-dialog.tsx (1)
105-108: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick winReplace the new arbitrary width values with theme tokens.
Lines 105 and 108 add
sm:max-w-[44rem]andmax-w-[38rem]. Define reusable layout tokens insrc/app/globals.css, or use the repository component CSS, before applying them here.As per coding guidelines: “Use Tailwind 4
@themetokens in src/app/globals.css and the repository's intentionally unlayered component CSS rather than introducing hardcoded design values.”🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/components/clinical-dashboard/account-setup-dialog.tsx` around lines 105 - 108, Replace the arbitrary max-width values on the account setup dialog and form with reusable theme tokens. Define the required width tokens in the existing theme/component styling system, then reference those tokens in the `contentClassName` and form `className` while preserving the current responsive sizing behavior.Source: Coding guidelines
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Nitpick comments:
In `@src/components/clinical-dashboard/account-setup-dialog.tsx`:
- Around line 105-108: Replace the arbitrary max-width values on the account
setup dialog and form with reusable theme tokens. Define the required width
tokens in the existing theme/component styling system, then reference those
tokens in the `contentClassName` and form `className` while preserving the
current responsive sizing behavior.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 2e5d1171-4157-45e8-a531-37ebfdfd77c2
📒 Files selected for processing (12)
docs/branch-review-ledger.mddocs/disaster-recovery-runbook.mddocs/multi-user-auth-setup.mdsrc/app/auth/callback/route.tssrc/components/clinical-dashboard/account-setup-dialog.tsxsrc/components/clinical-dashboard/auth-panel.tsxsrc/components/clinical-dashboard/settings-dialog.tsxsrc/lib/supabase/client.tsxtests/auth-panel-product-truth.dom.test.tsxtests/favourites-auth-gate.dom.test.tsxtests/settings-dialog-actions.dom.test.tsxtests/ui-smoke.spec.ts
Summary
Verification
npm run formatnpm run lintnpm run typechecknpm run buildnpm run check:rag:fixtures— 36 golden cases / 23 suitesVerification not run: full
npm run verify:pr-localdid not complete because the full Vitest stage reproduced unrelated Windows-onlypr-handoff-stopfailures on a clean current-main checkout; all earlier selected checks passed, and the not-reached build/RAG checks were run separately and passed.UI verification not run: the full
npm run verify:uisuite was not repeated locally because focused desktop/phone Chromium journeys and manual 1280×900, 390×820, and 320×700 inspection covered the changed owner; hosted Production UI critical and all three Production UI lanes passed on the exact PR head.Live Apple/provider-backed authentication was not run because it would require external Apple Developer and Supabase provider configuration not authorized by this code-only change.
Risk and rollout
Clinical Governance Preflight
Clinical KB Database(sjrfecxgysukkwxsowpy)Notes
Lighthouse budget (advisory); required Build, static, unit coverage, migration, safety/config, Production UI critical, Production UI 1/2/3, SAST, secret scan, andPR requiredall passed.